<?php

class Remanejamento_Form_InscricaoEtp3 extends Twitter_Bootstrap_Form_Horizontal
{

    public function init()
    {
        $modelInsc          = new Remanejamento_Model_Inscricao();
        $session            = $modelInsc->getSessaoInscricao('etp1');
        
        $this->setIsArray(true)
             ->setElementsBelongTo('');        
        
        $this->setAction('/remanejamento/inscricao/etapa3')
             ->setName('Form_Inscricao3')
             ->setMethod('post');

        // Servidor alocação
        $this->addElement('text', 'lotacao1', array('label'        => !$this->servidor20($session) ? 'Lotação:' :  '1ª Lotação:',
                                                    'readonly'     => 'readonly',
                                                    'setValue'     => 'teste',
                                                    'class'        => 'span8',
                                                    'filters'      => array('StringTrim', 'StripTags'), 
                                                    'value'        => $session['ds_lotacao_1'],
                                                    'validators'   => array(array('StringLength', false, array(3,100)))
                          ));   
        
        $this->addElement('text', 'cargaHoraria1', array('label'        => !$this->servidor20($session) ? 'Carga Horária:' :  'Carga Horária 1ª:',
                                                         'readonly'     => 'readonly',
                                                         'class'        => 'span2',
                                                         'value'        => !$this->servidor20($session) ? $session['emp_carga_hor']+$session['emp_carga_hor_2'] : $session['emp_carga_hor'],
                                                         'filters'      => array('StringTrim', 'StripTags'),
                                                         'validators'   => array(array('StringLength', false, array(1,2)))
                          ));
        
        $this->addElement('text', 'stCarga1', array('label' => !$this->servidor20($session) ? 'Situação Lotação:' :  'Situação 1ª Lotação:',
                                                    'readonly'     => 'readonly',  
                                                    'class'        => 'span4',
                                                    'value'        => $session['emp_lot_definitiva'] == 1 ? 'Definitivo' : 'Provisório',
                                                    'filters'      => array('StringTrim', 'StripTags'),
                                                    'validators'   => array(array('StringLength', false, array(1,11)))
                          )); 
        
        if ($this->servidor20($session)) {
            $this->addElement('text', 'lotacao2', array('label'       => '2ª Lotação:',
                                                        'readonly'     => 'readonly',
                                                        'class'        => 'span8',
                                                        'value'        => $session['ds_lotacao_2'],
                                                        'filters'      => array('StringTrim', 'StripTags'),
                                                        'validators'   => array(array('StringLength', false, array(3,100)))
                              ));   

            $this->addElement('text', 'cargaHoraria2', array('label'        => 'Carga Horária 2ª:',
                                                             'readonly'     => 'readonly',
                                                             'class'        => 'span2',
                                                             'value'        => !empty($session['ds_lotacao_2']) ? $session['emp_carga_hor_2'] : '',
                                                             'filters'      => array('StringTrim', 'StripTags'),
                                                             'validators'   => array(array('StringLength', false, array(1,2)))
                              ));   

            $this->addElement('text', 'stCarga2', array('label'        => 'Situação 2ª Lotação:',
                                                        'readonly'     => 'readonly',
                                                        'class'        => 'span4',
                                                        'value'        => ($session['emp_lot_definitiva_1'] == 1 ? 'Definitivo' : 'Provisório'),
                                                        'filters'      => array('StringTrim', 'StripTags'),
                                                        'validators'   => array(array('StringLength', false, array(1,11)))
                              ));    
            
            // Separa quando for 20/20
            $this->addDisplayGroup(
                array('lotacao2', 'cargaHoraria2', 'stCarga2'),
                      'Segunda lotação',
                array(
                    'legend' => ''
                )
            );        
        }
    }
    
    
    /**
     * Função que poderá conter regras de negócio que garantem que o usuário é um servidor do tipo 20/20
     * e nao um servidor do tipo 40 horas
     * 
     * @param array $info
     * @return boolean
     */
    private function servidor20($info) 
    {
        if ($info['servidor20_20'] == 1) {
            return true;
        } else {
            return false;
        }
    }
}